loops in kotlin explained